package com.gitee.slowcreator.http.annotation;

import com.gitee.slowcreator.http.file.download.IFileDownload;
import com.gitee.slowcreator.http.file.download.UnsupportedFileDownload;

import java.lang.annotation.*;

/**
 * 下载请求参数
 *
 * @author zxw
 * @date 2023/6/10 20:14
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Download {

    /**
     * 是否下载请求
     */
    boolean download() default false;

    /**
     * 下载为byte
     */
    boolean useByte() default true;

    /**
     * 文件下载处理 默认不支持文件下载
     * okhttp 和 hutool 的下载实现不能混用 否则会出现类型转换异常 因为这两种 http 的 response 不一样
     */
    Class<? extends IFileDownload<?, ?>> fileDownloadHandle() default UnsupportedFileDownload.class;
}
